Makes Client/Mob Login/out behavior match BYOND way more closely#2598
Makes Client/Mob Login/out behavior match BYOND way more closely#2598tontyGH wants to merge 5 commits into
Conversation
| _mob.SpawnProc("Login", usr: _mob).Dispose(); | ||
| } | ||
| if(oldConnection is not null) { | ||
| oldConnection.HandleDisconnection(); |
There was a problem hiding this comment.
HandleDisconnection() is for handling the player disconnecting from the server. This has the side effect of deleting the /client as well as preventing future network communication.
There was a problem hiding this comment.
Yes, BYOND behaviour for having your mob stolen is being disconnected from the server. This is intentional.
Would I need to implement my own disconnect method or is there something else I should be using? I looked around but nothing else seemed appropriate.
There was a problem hiding this comment.
You'd want to use deleting the Session.Channel.Disconnect() instead of leaving the player in that limbo state/client does this anyway but that's still a little indirect. Maybe delete the client object instead.
I'm curious if BYOND still disconnects you if you gain another mob before the tick ends?
There was a problem hiding this comment.
Done.
I'm curious if BYOND still disconnects you if you gain another mob before the tick ends?
It does. BYOND disconnects the client the moment the mob is overriden, even before the first Logout is invoked.
This is how I atone for making client.mob regress slightly.